Calibration of a first search query based on a second search query

ABSTRACT

Approaches presented herein enable calibrating site-level search results by associating a set of search results of a second search query with a first search query for subsequent uses of the first search query. Specifically, a first result set is generated from a first search query. The first result set does not include one or more desired query results. A second result set is generated from a second search query. The second result set includes the one or more desired query results. The second result set is associated with the first search query so as to include the one or more desired query results when the first search query is subsequently executed.

TECHNICAL FIELD

This invention relates generally to calibrating site-level searchresults and, more specifically, to calibrating site-level search resultsby associating a set of search results of a second search query with afirst search query for subsequent uses of the first search query.

BACKGROUND

The online and offline consumer experience can vary greatly. In aphysical store, consumers can use physical cues to assess theprofessionalism and competency of an establishment, such as how theemployees are dressed, how the consumer is greeted, and the organizationand cleanliness of the store. For an ecommerce merchant, these cues areabsent. The design, processes, and content determine how a potentialbuyer perceives and ultimately interacts with a business. For manyconsumers, trusting an online merchant with payment information, todeliver the product on time, and to provide service after the sale arepotential impediments to the buying process. A positive consumerexperience can lead to more sales and good word of mouth. A negativeexperience may not only diminish the potential for future sales, but canalso lead to negative word of mouth that may hinder new consumeracquisition. Even though technology has made building and maintaining anecommerce site easier than ever, it is important that the onlinemerchant evaluate and continue to improve the experience of itsconsumers.

SUMMARY

In general, embodiments of the present invention provide for calibratingsite-level search results by associating a set of search results of asecond search query with a first search query for subsequent uses of thefirst search query. Specifically, a first result set is generated from afirst search query. The first result set does not include one or moredesired query results. A second result set is generated from a secondsearch query. The second result set includes the one or more desiredquery results. The second result set is associated with the first searchquery so as to include the one or more desired query results when thefirst search query is subsequently executed.

One aspect of the present invention includes a computer-implementedmethod for calibrating site-level search results, the method comprising:generating a first result set based on an execution of a first searchquery; determining, based on an analysis of the first result set, thefirst result set does not include one or more desired query results;generating a second result set based on an execution of a second searchquery; determining, based on an analysis of the second result set, thesecond result set includes the one or more desired query results; andassociating the second result set with the first search query so as todisplay the one or more desired query results when the first searchquery is subsequently executed.

Another aspect of the present invention includes a computer programproduct for calibrating site-level search results, and programinstructions stored on the computer readable storage device, to:generate a first result set based on an execution of a first searchquery; determine, based on an analysis of the first result set, thefirst result set does not include one or more desired query results;generate a second result set based on an execution of a second searchquery; determine, based on an analysis of the second result set, thesecond result set includes the one or more desired query results; andassociate the second result set with the first search query so as todisplay the one or more desired query results when the first searchquery is subsequently executed.

Yet another aspect of the present invention includes a computer systemfor calibrating site-level search results, the computer systemcomprising: a memory medium comprising program instructions; a buscoupled to the memory medium; and a processor for executing the programinstructions, the instructions causing the system to: generate a firstresult set based on an execution of a first search query; determine,based on an analysis of the first result set, the first result set doesnot include one or more desired query results; generate a second resultset based on an execution of a second search query; determine, based onan analysis of the second result set, the second result set includes theone or more desired query results; and associate the second result setwith the first search query so as to display the one or more desiredquery results when the first search query is subsequently executed.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

These and other features of this invention will be more readilyunderstood from the following detailed description of the variousaspects of the invention taken in conjunction with the accompanyingdrawings in which:

FIG. 1 shows an architecture 10 in which the invention may beimplemented according to illustrative embodiments;

FIGS. 2A-B show schematic diagrams 200, 250 illustrating an exemplaryenvironment for implementation according to illustrative embodiments;

FIGS. 3A-B show example web pages 300, 310 having content related to asite-level search according to illustrative embodiments;

FIG. 4A shows an example data structure 410 for implementing documentindex database 117 according to illustrative embodiments;

FIG. 4B shows an example data structure 420 for implementing documentfile database 118 according to illustrative embodiments;

FIG. 4C shows updated rows 430 in document index database 117 accordingto illustrative embodiments;

FIG. 5 shows a process flowchart 500 for calibrating site-level searchresults by associating a set of search results of a second search querywith a first search query for subsequent uses of the first search queryaccording to illustrative embodiments.

The drawings are not necessarily to scale. The drawings are merelyrepresentations, not intended to portray specific parameters of theinvention. The drawings are intended to depict only typical embodimentsof the invention, and therefore should not be considered as limiting inscope. In the drawings, like numbering represents like elements.

DETAILED DESCRIPTION

Illustrative embodiments will now be described more fully herein withreference to the accompanying drawings, in which illustrativeembodiments are shown. It will be appreciated that this disclosure maybe embodied in many different forms and should not be construed aslimited to the illustrative embodiments set forth herein. Rather, theseembodiments are provided so that this disclosure will be thorough andcomplete and will fully convey the scope of this disclosure to thoseskilled in the art.

Furthermore, the terminology used herein is for the purpose ofdescribing particular embodiments only and is not intended to belimiting of this disclosure. As used herein, the singular forms “a”,“an”, and “the” are intended to include the plural forms as well, unlessthe context clearly indicates otherwise. Furthermore, the use of theterms “a”, “an”, etc., do not denote a limitation of quantity, butrather denote the presence of at least one of the referenced items.Furthermore, similar elements in different figures may be assignedsimilar element numbers. It will be further understood that the terms“comprises” and/or “comprising”, or “includes” and/or “including”, whenused in this specification, specify the presence of stated features,regions, integers, steps, operations, elements, and/or components, butdo not preclude the presence or addition of one or more other features,regions, integers, steps, operations, elements, components, and/orgroups thereof.

Unless specifically stated otherwise, it may be appreciated that termssuch as “processing”, “detecting”, “determining”, “evaluating”,“receiving”, or the like, refer to the action and/or processes of acomputer or computing system, or similar electronic data center device,that manipulates and/or transforms data represented as physicalquantities (e.g., electronic) within the computing system's registersand/or memories into other data similarly represented as physicalquantities within the computing system's memories, registers or othersuch information storage, transmission, or viewing devices. Theembodiments are not limited in this context.

As stated above, embodiments of the present invention provide forcalibrating site-level search results by associating a set of searchresults of a second search query with a first search query forsubsequent uses of the first search query. Specifically, a first resultset is generated from a first search query. The first result set doesnot include one or more desired query results. A second result set isgenerated from a second search query. The second result set includes theone or more desired query results. The second result set is associatedwith the first search query so as to include the one or more desiredquery results when the first search query is subsequently executed.

The inventors of the invention described herein have recognized certaindeficiencies in known methods for calibrating a site-level search.Typically, a site administrator may test a search engine by entering anumber of test searches when setting up or testing a website (e.g., acommerce site). For example, the site administrator may enter “How tofix a leaky faucet?” in a first search, and search results of little tono relevance are displayed. As a result, the site administrator types ina second search term, for example “Faucet repair”, which returns a morerelevant set of search results. The approaches described herein providea seamless way for calibrating site-level search results by associatinga set of search results of a second search query with a first searchquery for subsequent uses of the first search query.

Referring now to FIG. 1, a computerized implementation 10 of anembodiment for calibrating site-level search results by associating aset of search results of a second search query with a first search queryfor subsequent uses of the first search query will be shown anddescribed. Computerized implementation 10 is only one example of asuitable implementation and is not intended to suggest any limitation asto the scope of use or functionality of embodiments of the inventiondescribed herein. Regardless, computerized implementation 10 is capableof being implemented and/or performing any of the functionality setforth hereinabove.

In computerized implementation 10, there is a computer system/server 12,which is operational with numerous other general purpose or specialpurpose computing system environments or configurations. Examples ofwell-known computing systems, environments, and/or configurations thatmay be suitable for use with computer system/server 12 include, but arenot limited to, personal computer systems, server computer systems, thinclients, thick clients, hand-held or laptop devices, multiprocessorsystems, microprocessor-based systems, set top boxes, programmableconsumer electronics, network PCs, minicomputer systems, mainframecomputer systems, and distributed cloud computing environments thatinclude any of the above systems or devices, and the like.

This is intended to demonstrate, among other things, that the presentinvention could be implemented within a network environment (e.g., theInternet, a wide area network (WAN), a local area network (LAN), avirtual private network (VPN), etc.), a cloud computing environment, acellular network, or on a stand-alone computer system. Communicationthroughout the network can occur via any combination of various types ofcommunication links. For example, the communication links can compriseaddressable connections that may utilize any combination of wired and/orwireless transmission methods. Where communications occur via theInternet, connectivity could be provided by conventional TCP/IPsockets-based protocol, and an Internet service provider could be usedto establish connectivity to the Internet. Still yet, computersystem/server 12 is intended to demonstrate that some or all of thecomponents of implementation 10 could be deployed, managed, serviced,etc., by a service provider who offers to implement, deploy, and/orperform the functions of the present invention for others.

Computer system/server 12 is intended to represent any type of computersystem that may be implemented in deploying/realizing the teachingsrecited herein. Computer system/server 12 may be described in thegeneral context of computer system executable instructions, such asprogram modules, being executed by a computer system. Generally, programmodules may include routines, programs, objects, components, logic, datastructures, and so on, that perform particular tasks or implementparticular abstract data types. In this particular example, computersystem/server 12 represents an illustrative system for calibratingsite-level search results by associating a set of search results of asecond search query with a first search query for subsequent uses of thefirst search query. It should be understood that any other computersimplemented under the present invention may have differentcomponents/software, but can perform similar functions.

Computer system/server 12 in computerized implementation 10 is shown inthe form of a general-purpose computing device. The components ofcomputer system/server 12 may include, but are not limited to, one ormore processors or processing units 16, a system memory 28, and a bus 18that couples various system components including system memory 28 toprocessor 16.

Bus 18 represents one or more of any of several types of bus structures,including a memory bus or memory controller, a peripheral bus, anaccelerated graphics port, and a processor or local bus using any of avariety of bus architectures. By way of example, and not limitation,such architectures include Industry Standard Architecture (ISA) bus,Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, VideoElectronics Standards Association (VESA) local bus, and PeripheralComponent Interconnects (PCI) bus.

Processing unit 16 refers, generally, to any apparatus that performslogic operations, computational tasks, control functions, etc. Aprocessor may include one or more subsystems, components, and/or otherprocessors. A processor will typically include various logic componentsthat operate using a clock signal to latch data, advance logic states,synchronize computations and logic operations, and/or provide othertiming functions. During operation, processing unit 16 collects androutes signals representing inputs and outputs between external devices14 and input devices (not shown). The signals can be transmitted over aLAN and/or a WAN (e.g., T1, T3, 56 kb, X.25), broadband connections(ISDN, Frame Relay, ATM), wireless links (802.11, Bluetooth, etc.), andso on. In some embodiments, the signals may be encrypted using, forexample, trusted key-pair encryption. Different systems may transmitinformation using different communication pathways, such as Ethernet orwireless networks, direct serial or parallel connections, USB,Firewire®, Bluetooth®, or other proprietary interfaces. (Firewire is aregistered trademark of Apple Computer, Inc. Bluetooth is a registeredtrademark of Bluetooth Special Interest Group (SIG)).

In general, processing unit 16 executes computer program code, such asprogram code for calibrating site-level search results by associating aset of search results of a second search query with a first search queryfor subsequent uses of the first search query, which is stored in memory28, storage system 34, and/or program/utility 40. While executingcomputer program code, processing unit 16 can read and/or write datato/from memory 28, storage system 34, and program/utility 40.

Computer system/server 12 typically includes a variety of computersystem readable media. Such media may be any available media that isaccessible by computer system/server 12, and it includes both volatileand non-volatile media, removable and non-removable media.

System memory 28 can include computer system readable media in the formof volatile memory, such as random access memory (RAM) 30 and/or cachememory 32. Computer system/server 12 may further include otherremovable/non-removable, volatile/non-volatile computer system storagemedia, (e.g., VCRs, DVRs, RAID arrays, USB hard drives, optical diskrecorders, flash storage devices, and/or any other data processing andstorage elements for storing and/or processing data). By way of exampleonly, storage system 34 can be provided for reading from and writing toa non-removable, non-volatile magnetic media (not shown and typicallycalled a “hard drive”). Although not shown, a magnetic disk drive forreading from and writing to a removable, non-volatile magnetic disk(e.g., a “floppy disk”), and an optical disk drive for reading from orwriting to a removable, non-volatile optical disk such as a CD-ROM,DVD-ROM, or other optical media can be provided. In such instances, eachcan be connected to bus 18 by one or more data media interfaces. As willbe further depicted and described below, memory 28 may include at leastone program product having a set (e.g., at least one) of program modulesthat are configured to carry out the functions of embodiments of theinvention.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium including, but not limited to, wireless,wireline, optical fiber cable, radio-frequency (RF), etc., or anysuitable combination of the foregoing.

Program/utility 40, having a set (at least one) of program modules 42,may be stored in memory 28 by way of example, and not limitation. Memory28 may also have an operating system, one or more application programs,other program modules, and program data. Each of the operating system,one or more application programs, other program modules, and programdata or some combination thereof, may include an implementation of anetworking environment. Program modules 42 generally carry out thefunctions and/or methodologies of embodiments of the invention asdescribed herein.

Computer system/server 12 may also communicate with one or more externaldevices 14 such as a keyboard, a pointing device, a display 24, etc.;one or more devices that enable a consumer to interact with computersystem/server 12; and/or any devices (e.g., network card, modem, etc.)that enable computer system/server 12 to communicate with one or moreother computing devices. Such communication can occur via I/O interfaces22. Still yet, computer system/server 12 can communicate with one ormore networks such as a local area network (LAN), a general wide areanetwork (WAN), and/or a public network (e.g., the Internet) via networkadapter 20. As depicted, network adapter 20 communicates with the othercomponents of computer system/server 12 via bus 18. It should beunderstood that although not shown, other hardware and/or softwarecomponents could be used in conjunction with computer system/server 12.Examples include, but are not limited to: microcode, device drivers,redundant processing units, external disk drive arrays, RAID systems,tape drives, and data archival storage systems, etc.

Referring now to FIGS. 2A-B, block diagrams 200, 250 describing thefunctionality discussed herein according to an embodiment of the presentinvention are shown. It is understood that the teachings recited hereinmay be practiced within any type of computing environment (e.g.,computer system/server 12). To this extent, the teachings recited hereinmay be practiced within a stand-alone computer system or within anetworked computing environment (e.g., a client-server environment,peer-to-peer environment, distributed computing environment, cloudcomputing environment, and/or the like). If the teachings recited hereinare practiced within a networked computing environment, each physicalserver need not have a search calibration mechanism 72 (hereinafter“system 72”). Rather, system 72 could be loaded on a server orserver-capable device that communicates (e.g., wirelessly) with thephysical server to provide search calibration therefor. Regardless, asdepicted, system 72 can be implemented as program/utility 40 on computersystem/server 12 of FIG. 1 and can enable the functions recited herein.It is further understood that system 72 may be incorporated within orwork in conjunction with any type of system that receives, processes,and/or executes commands with respect to IT resources in a networkedcomputing environment. Such other system(s) have not been shown in FIGS.2A-B for brevity purposes.

As shown, FIGS. 2A-B include client device 102 in communication withcomputer system/server 12 over network 106. The network 106 shownincludes the Internet. In other embodiments, other wired and wirelessnetworks, such as an intranet may be used. Moreover, methods accordingto the present invention may operate within a single computer.

Client devices 102 includes a computer-readable medium, such as a randomaccess memory (RAM) 108 coupled to a processor 110. The processor 110executes computer-executable program instructions stored in memory 108as program code. Such processors may include a microprocessor, an ASIC,and state machines. Such processors include, or may be in communicationwith, media, for example computer-readable media, which storesinstructions that, when executed by the processor, cause the processorto perform the steps described herein. Embodiments of computer-readablemedia include, but are not limited to, an electronic, optical, magnetic,or other storage or transmission device capable of providing aprocessor, such as the processor 110 of client 102, withcomputer-readable instructions. Other examples of suitable mediainclude, but are not limited to, a floppy disk, CD-ROM, DVD, magneticdisk, memory chip, ROM, RAM, an ASIC, a configured processor, alloptical media, all magnetic tape or other magnetic media, or any othermedium from which a computer processor can read instructions. Also,various other forms of computer-readable media may transmit or carryinstructions to a computer, including a router, switch, private orpublic network, or other transmission device or channel, both wired andwireless. The instructions may comprise code from anycomputer-programming language, including, for example, C, C++, C#,Visual Basic, Java, Python, Perl, and/or JavaScript.

Client device 102 may also include a number of external or internaldevices such as a mouse, a CD-ROM, DVD, a keyboard, a display, or otherinput or output devices. Examples of client device 102 are personalcomputers, digital assistants, personal digital assistants, cellularphones, mobile phones, smart phones, pagers, digital tablets, laptopcomputers, Internet appliances, and other processor-based devices. Ingeneral, client device 102 may be any type of processor-based platformthat is connected to network 106 and that interacts with one or moreapplication programs. Client device 102 may operate on any operatingsystem capable of supporting a browser or browser-enabled application,such as Microsoft® Windows® or Linux. Client device 102 can include, forexample, a personal computer executing a browser application programsuch as Internet Explorer™ from Microsoft Corporation, NetscapeNavigator™ from Netscape Communications Corporation, and/or Safari™ fromApple Computer, Inc. Through client device 102, administrative user 112can communicate over network 106 with other systems and devices coupledto network 106. As shown in FIG. 1, computer system/server 12 is alsocoupled to the network 106. As used herein, an administrative user mayinclude a site owner, site administrator, and/or other person having theproper credentials to perform the functions described herein.

Referring now to FIG. 3A, in conjunction with FIG. 2A, example web page300 having content related to a site-level search is shown. In thisexample, web page 300 is related to ecommerce merchant, ACME Depot. Inthe embodiment shown, administrative user 112 executes a first searchquery 114 at client device 102. Client device 102 transmits first searchquery 114 to computer system/server 12 via network 106. For example,administrative user 112 types a textual search query into a query fieldof a web page of a site-level search engine interface displayed onclient device 102, which is then transmitted via network 106 to computersystem/server 12. In another embodiment, first search query 114 isinstead sent to a proxy server (not shown), which then transmits thefirst search query 114 to computer system/server 12. Otherconfigurations are possible. As shown in FIG. 3A, administrative user112 navigates to the ACME Depot website (i.e., web page 300) andexecutes first search query 114 (i.e., ‘How to fix a leaky faucet?’) atclient device 102 by typing the phrase into search box 350.

Result set generation component 152 of system 72, as executed bycomputer system/server 12, is configured to locate relevant informationin response to first search query 114 entered by administrative user 112and provide first result set 134. In an embodiment, result setgeneration component 152 searches document index database 117 coupled tocomputer system/server 12, and first result set 134 responsive to firstsearch query 114 is displayed to client 102.

In an embodiment, document index database 117 contains a list ofpotential search queries which may be used by a consumer. For eachsearch query listed in the document index database 117, document indexdatabase 117 stores the search query, a document identifiercorresponding to a document file (e.g., a database entry, a web page, amedia file, Portable Document Format (PDF) file, and text document,etc.) related to the search query, and a relevance score for each searchquery/document file combination. In an embodiment, a document file willprovide information related to an item or product. Search results may bereturned in descending order of relevance score. The relevance score ofeach document may be represented by a positive number. The higher thenumber, the more relevant the document file. A relevance score may becomputed based on a predefined formula. In some instances, a relevancescore can be tuned by a system, user, super user, administrator, or thelike.

FIG. 4A shows an example data structure 410 for implementing documentindex database 117. Data structure 410 includes a search query, firstdocument identifier, first document relevancy score, second documentidentifier, second document relevancy score, etc. Document identifier isa key to document file database 118. As shown, document index database117 includes a row for search query ‘How to fix a leaky faucet?’ (i.e.,first search query 114) and a row for search query ‘Faucet repair’(i.e., second search query 134). In an embodiment, document files may bestored in document file database 118 coupled to computer system/server12.

FIG. 4B shows an example data structure 420 for implementing documentfile database 118. Data structure 420 includes a document identifier,display information, and document location link (e.g., URL). Displayinformation includes text which will be displayed in a result set which,when selected (e.g., clicked) by a user, navigates the user to adocument file via document location link. Data structures 410, 420 areexemplary only and may include other or different information or tablesthan as described above consistent with principles of the invention.

Referring back to FIGS. 2A and 3A, result set generation component 152searches document index database 117 using first search query 114 togenerate first result set 134. To that end, search phrase ‘How to fix aleaky faucet?’ is compared against the search query column in documentindex database 117 to determine matching rows. Document identifiers 155and 199 are returned with relevant scores 2 and 1, respectively. In thisexample, only document files having a relevant score greater than 2 areto be displayed in a result set. Since there are no document filesassociated with first search phrase 114 having a relevant score greaterthan 2, search results area 355 displays no results.

Referring now to FIG. 3B, in conjunction with FIG. 2B, a second exampleweb page 310 having content related to a second site-level search isshown. In the embodiment shown, administrative user 112 executes asecond search query 124 at client device 102 via a web page. Clientdevice 102 transmits second search query 124 to computer system/server12 via network 106. As described earlier, administrative user 112 typesa second textual search query into a query field of a web page of asite-level search engine interface displayed on client device 102, whichis then transmitted via network 106 to computer system/server 12. Inanother embodiment, second search query 124 is instead sent to a proxyserver (not shown), which then transmits the second search query 124 tocomputer system/server 12. As shown in FIG. 3B, administrative user 112executes a second search query 124 (i.e., ‘Faucet repair’) at clientdevice 102 by typing the phrase into search box 360 on the ACME Depotwebsite (i.e., web page 310).

Result set generation component 152 is configured to locate relevantinformation in response to second search query 124 from administrativeuser 112 and provide second result set 144 to client 102 via network106. To that end, search phrase ‘Faucet repair’ is compared against thesearch query column in document index database 117. Document identifiers125, 130, 134, 141, 155, and 99 are returned with relevant scores 5, 5,5, 4, 3 and 2, respectively. As stated earlier, only document fileshaving a relevant score greater than 2 will be displayed in a resultset. Therefore, document identifiers 125, 130, 134, 141, and 155 areused to retrieve document file information from document file database118 to generate second result set 144. Using the document identifiers,display information and a document location link for each document filewill be used to display second result set 144 in search results area365. In this example, text including links (“URLs”) to product web pagesfor Faucet Repair Kits, Faucet Valves, Replacement Cartridges,Replacement Stems, and Installation Hardware are displayed in searchresults area 365 for a consumer to select.

As shown in FIGS. 2A-B, query association component 154 of system 72, asexecuted by computer system/server 12, is configured to associate thesecond result set 144 with first search query 114 so that subsequentexecutions of first search query 114 generate a result set that includesthe desired query results. The user may wish to associate the secondresult set 144 with first search query 114 when first result set 134yields little or no relevant results (e.g., below a predefinedthreshold), while second result set 144 provides relevant results. Inthe example depicted in FIGS. 3A-B, it is foreseeable a consumer maysearch ‘How to fix a leaky faucet?’ rather than ‘Faucet repair’ whenbrowsing for products which may help the consumer fix his/her faucet.Therefore, it may be in the best interest of ACME Depot to associatesecond result set 144 with first search query 114 so that the user caneasily navigate to different product pages when attempting to repair afaucet.

In an embodiment, the association may be triggered by administrativeuser 112 performing a user action once second result set 144 isdisplayed rather than requiring administrative user 112 to manually makethe changes via an administrative web page or other application. Forexample, administrative user 112 may enter a natural language command(e.g., “Please save these results with search phrase ‘How to fix a leakyfaucet?”’) into the web page's search box after second result set 144 isdisplayed to associate second result set 144 with first search query 114for subsequent executions of first search query 114. In another example,administrative user 112 may answer affirmatively to an actionablequestion, such as via a pop-up box or window.

In an embodiment, query association component 154 may update thedocument identifiers and relative scores associated with first searchquery 114 based on the document identifiers and relative scoresassociated with second search query 124. Referring back to FIG. 3B,administrative user 112 answers affirmatively (i.e., clicks ‘YES’) topop-up box 370 when second result set 144 is displayed in search resultsbox 365 to associate second result set 144 with first search query 114.FIG. 4C shows the associated rows in document index database 117 afterthe association has been completed. The document identifiers andrelative scores associated with first search query 114 have been updatedbased on the values stored for second search query 124. In other words,first search query 114 is associated with document identifiers 125, 130,134, 141, and 155 (and their respective relevant scores) so that anysubsequent executions of first search query 114 will include secondresult set 144.

Referring now to FIG. 5, in conjunction with FIGS. 1, 2A, and 2B, animplementation of a process flowchart 500 for calibrating site-levelsearch results by associating a set of search results of a second searchquery with a first search query for subsequent uses of the first searchquery is shown. At step 502, result set generation component 152generates a first set of query results based on a first search queryentered a site administrator. At step 504, a determination is madewhether the first result set includes desired search results. If not, atstep 506, result set generation component 152 generates a second set ofquery results based on a second search query entered by the siteadministrator. At step 508, a determination is made whether the secondresult set includes the desired search results. If so, at step 510,query association component 154 associates the second result set withthe first search query so that subsequent execution of first searchquery generates a result set that includes the desired results.

Process flowchart 500 of FIG. 5 illustrates the architecture,functionality, and operation of possible implementations of systems,methods, and computer program products according to various embodimentsof the present invention. In this regard, each block in the flowchartmay represent a module, segment, or portion of code, which comprises oneor more executable instructions for implementing the specified logicalfunction(s). It should also be noted that, in some alternativeimplementations, the functions noted in the blocks might occur out ofthe order depicted in the figures. For example, two blocks shown insuccession may, in fact, be executed substantially concurrently. It willalso be noted that each block of flowchart illustration can beimplemented by special purpose hardware-based systems that perform thespecified functions or acts, or combinations of special purpose hardwareand computer instructions.

Some of the functional components described in this specification havebeen labeled as systems or units in order to more particularly emphasizetheir implementation independence. For example, a system or unit may beimplemented as a hardware circuit comprising custom VLSI circuits orgate arrays, off-the-shelf semiconductors such as logic chips,transistors, or other discrete components. A system or unit may also beimplemented in programmable hardware devices such as field programmablegate arrays, programmable array logic, programmable logic devices, orthe like. A system or unit may also be implemented in software forexecution by various types of processors. A system or unit or componentof executable code may, for instance, comprise one or more physical orlogical blocks of computer instructions, which may, for instance, beorganized as an object, procedure, or function. Nevertheless, theexecutables of an identified system or unit need not be physicallylocated together, but may comprise disparate instructions stored indifferent locations which, when joined logically together, comprise thesystem or unit and achieve the stated purpose for the system or unit.

Further, a system or unit of executable code could be a singleinstruction, or many instructions, and may even be distributed overseveral different code segments, among different programs, and acrossseveral memory devices. Similarly, operational data may be identifiedand illustrated herein within modules, and may be embodied in anysuitable form and organized within any suitable type of data structure.The operational data may be collected as a single data set, or may bedistributed over different locations including over different storagedevices and disparate memory devices.

Furthermore, systems/units may also be implemented as a combination ofsoftware and one or more hardware devices. For instance, program/utility40 may be embodied in the combination of a software executable codestored on a memory medium (e.g., memory storage device). In a furtherexample, a system or unit may be the combination of a processor thatoperates on a set of operational data.

As noted above, some of the embodiments may be embodied in hardware. Thehardware may be referenced as a hardware element. In general, a hardwareelement may refer to any hardware structures arranged to perform certainoperations. In one embodiment, for example, the hardware elements mayinclude any analog or digital electrical or electronic elementsfabricated on a substrate. The fabrication may be performed usingsilicon-based integrated circuit (IC) techniques, such as complementarymetal oxide semiconductor (CMOS), bipolar, and bipolar CMOS (BiCMOS)techniques, for example. Examples of hardware elements may includeprocessors, microprocessors, circuits, circuit elements (e.g.,transistors, resistors, capacitors, inductors, and so forth), integratedcircuits, application specific integrated circuits (ASIC), programmablelogic devices (PLD), digital signal processors (DSP), field programmablegate array (FPGA), logic gates, registers, semiconductor devices, chips,microchips, chip sets, and so forth. However, the embodiments are notlimited in this context.

Any of the components provided herein can be deployed, managed,serviced, etc., by a service provider that offers to deploy or integratecomputing infrastructure with respect to a process for calibratingsite-level search results by associating a set of search results of asecond search query with a first search query for subsequent uses of thefirst search query. Thus, embodiments herein disclose a process forsupporting computer infrastructure, comprising integrating, hosting,maintaining, and deploying computer-readable code into a computingsystem (e.g., computer system/server 12), wherein the code incombination with the computing system is capable of performing thefunctions described herein.

In another embodiment, the invention provides a method that performs theprocess steps of the invention on a subscription, advertising, and/orfee basis. That is, a service provider, such as a Solution Integrator,can offer to create, maintain, support, etc., a process for calibratingsite-level search results by associating a set of search results of asecond search query with a first search query for subsequent uses of thefirst search query. In this case, the service provider can create,maintain, support, etc., a computer infrastructure that performs theprocess steps of the invention for one or more consumers. In return, theservice provider can receive payment from the consumer(s) under asubscription and/or fee agreement, and/or the service provider canreceive payment from the sale of advertising content to one or morethird parties.

Also noted above, some embodiments may be embodied in software. Thesoftware may be referenced as a software element. In general, a softwareelement may refer to any software structures arranged to perform certainoperations. In one embodiment, for example, the software elements mayinclude program instructions and/or data adapted for execution by ahardware element, such as a processor. Program instructions may includean organized list of commands comprising words, values, or symbolsarranged in a predetermined syntax that, when executed, may cause aprocessor to perform a corresponding set of operations.

The present invention may also be a computer program product. Thecomputer program product may include a computer readable storage medium(or media) having computer readable program instructions thereon forcausing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network (for example, the Internet, a local area network, awide area network and/or a wireless network). The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises andocument of manufacture including instructions which implement aspectsof the function/act specified in the flowchart and/or block diagramblock or blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus, or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

It is apparent that there has been provided herein approaches forcalibrating site-level search results by associating a set of searchresults of a second search query with a first search query forsubsequent uses of the first search query. While the invention has beenparticularly shown and described in conjunction with exemplaryembodiments, it will be appreciated that variations and modificationswill occur to those skilled in the art. Therefore, it is to beunderstood that the appended claims are intended to cover all suchmodifications and changes that fall within the true spirit of theinvention.

What is claimed is:
 1. A computer-implemented method for calibratingsite-level search results, the method comprising: generating a firstresult set based on an execution of a first search query; determining,based on an analysis of the first result set, the first result set doesnot include one or more desired query results; generating a secondresult set based on an execution of a second search query; determining,based on an analysis of the second result set, the second result setincludes the one or more desired query results; and associating thesecond result set with the first search query so as to display the oneor more desired query results when the first search query issubsequently executed.
 2. The computer-implemented method of claim 1,wherein the second result set is associated with one or more documentfiles.
 3. The computer-implemented method of claim 1, further comprisingassociating the second result set with the first search query responsiveto a user action.
 4. The computer-implemented method of claim 3, whereinthe user action includes entering a command in a search box or providingan affirmative response to an actionable question.
 5. Thecomputer-implemented method of claim 2, wherein each of the one or moredocument files is associated with a document identifier and a relevantscore.
 6. The computer-implemented method of claim 5, whereinassociating the second result set with the first search query includesassociating each document identifier and a relevant score of the one ormore document files to the first search query.
 7. Thecomputer-implemented method of claim 2, wherein the one or more documentfiles is selected from a group consisting of: a database entry, a webpage, a media file, Portable Document Format (PDF) file, and textdocument.
 8. A computer program product for calibrating site-levelsearch results, and program instructions stored on the computer readablestorage device, to: generate a first result set based on an execution ofa first search query; determine, based on an analysis of the firstresult set, the first result set does not include one or more desiredquery results; generate a second result set based on an execution of asecond search query; determine, based on an analysis of the secondresult set, the second result set includes the one or more desired queryresults; and associate the second result set with the first search queryso as to display the one or more desired query results when the firstsearch query is subsequently executed.
 9. The computer program productof claim 8, wherein the second result set is associated with one or moredocument files.
 10. The computer program product of claim 8, furthercomprising program instructions to associate the second result set withthe first search query responsive to a user action.
 11. The computerprogram product of claim 10, wherein the user action includes entering acommand in a search box or providing an affirmative response to anactionable question.
 12. The computer program product of claim 9,wherein each of the one or more document files is associated with adocument identifier and a relevant score.
 13. The computer programproduct of claim 12, further comprising program instructions toassociate the second result set with the first search query byassociating each document identifier and relevant score of the one ormore document files to the first search query.
 14. The computer programproduct of claim 9, wherein the one or more document files is selectedfrom a group consisting of: a database entry, a web page, a media file,Portable Document Format (PDF) file, and text document.
 15. A computersystem for calibrating site-level search results, the computer systemcomprising: a memory medium comprising program instructions; a buscoupled to the memory medium; and a processor for executing the programinstructions, the instructions causing the system to: generate a firstresult set based on an execution of a first search query; determine,based on an analysis of the first result set, the first result set doesnot include one or more desired query results; generate a second resultset based on an execution of a second search query; determine, based onan analysis of the second result set, the second result set includes theone or more desired query results; and associate the second result setwith the first search query so as to display the one or more desiredquery results when the first search query is subsequently executed. 16.The computer system of claim 15, wherein the second result set isassociated with one or more document files, wherein the one or moredocument files is selected from a group consisting of: database entry, aweb page, a media file, Portable Document Format (PDF) file, and textdocument.
 17. The computer system of claim 15, further comprisingprogram instructions to associate the second result set with the firstsearch query responsive to a user action.
 18. The computer system ofclaim 17, wherein the user action includes entering a command in asearch box or providing an affirmative response to an actionablequestion.
 19. The computer system of claim 16, wherein each of the oneor more document files is associated with a document identifier and arelevant score.
 20. The computer system of claim 19, further comprisingprogram instructions to associate the second result set with the firstsearch query by associating each document identifier and relevant scoreof the one or more document files to the first search query.